package com.photography.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.photography.common.Result;
import com.photography.entity.User;

import java.util.List;

public interface UserService extends IService<User> {
    /**
     * 用户登录
     * @param account 账号
     * @param password 密码
     * @return 登录结果
     */
    Result login(String account, String password);

    /**
     * 用户注册
     */
    Result register(User user);

    /**
     * 删除用户
     * @param userId 用户id
     * @return 结果
     */
    Result deleteUser(Integer userId);

    /**
     * 更新用户信息
     * @param user 用户信息
     * @return 结果
     */
    Result updateUser(User user);


    /**
     * 分页查询用户列表
     * @param page 分页参数
//     * @param name 用户名（可选）
//     * @param email 邮箱（可选）
//     * @param phoneNumber 手机号（可选）
//     * @param nickname 昵称（可选）
     * @param gender 性别（可选）
     * @return 分页结果
     */
    Page<User> getUserPage(Page<User> page, String gender,String userLevel,String search);

    /**
     * 模糊搜索用户
     * @param page 分页参数
     * @param keyword 搜索关键词，支持用户名、邮箱、手机号、昵称、性别的模糊匹配
     * @return 分页结果
     */
    Page<User> search(Page<User> page, String keyword);
}
